package realQuestion.tri89;


import  java.util.*;
import java.util.List;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.HashMap;
    public  class Main3{
        public  static void  main(String[] args){
            Scanner  sc= new Scanner(System.in);
            int n=sc.nextInt();
            int x=sc.nextInt();
            int[] a=new int[n];
            for(int i=0;i<n;i++){
                a[i]=sc.nextInt();
            }
            Main3 main=   new Main3();
            List<List<Integer>> total = main.total(a, n, x);
            for (int i = 0; i < total.size(); i++) {
                for (int j = 0; j < total.get(i).size(); j++) {
                    System.out.print(total.get(i).get(j)+" ");
                }
                System.out.println();
            }

        }


        List<List<Integer>>  result=new ArrayList<>();
        LinkedList<Integer> path=new LinkedList<>();
        HashMap<Integer,Integer> hashmap= new HashMap<>();

        public  List<List<Integer>>   total(int[] a,int n,int x){
            for(int i=0;i<n;i++){
                if(a[i]!=x){
                    hashmap.put(a[i],i);
                }
            }
            find(a,n,x);



            return result;
        }





        public   void find(int[] a,int n,int x){
            path.add(x);
            if(path.size()==n){
                result.add(new ArrayList(path));
                return;
            }

            while(!hashmap.isEmpty()){
                int a1=x*5;
                if(hashmap.containsKey(a1)){
                    hashmap.remove(a1);
                    find(a,n,a1);
                }

                if(x%2==0){
                    int a2=x/2;
                    if(hashmap.containsKey(a2)){
                        hashmap.remove(a2);
                        find(a,n,a2);
                    }

                }
            }
        }




}
